#1 导入包
import re

#2 发送请求，得到响应
#简化为多行文本的html
html_text='''
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="songs-list">
    <h2 class="title">经典老歌</h2>
    <p class="introduction">
        经典老歌列表
    </p>
    <ul id="list" class="list-group">
        <li data-view="2">一路上有你</li>
        <li data-view="7">
            <a href="/2.mp3" singer="任贤齐">沧海一声笑</a>
        </li>
        <li data-view="4" class="active">
            <a href="/3.mp3" singer="齐秦">往事随风</a>
        </li>
        <li data-view="6"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
        <li data-view="5"><a href="/5.mp3" singer="陈慧琳">记事本</a></li>
        <li data-view="5">
            <a href="/6.mp3" singer="邓丽君">但愿人长久</a>
        </li>
    </ul>
</div>
</body>
</html>

'''

#3 分析提取歌名
#有换行符的，加上了\n
# result1 = re.findall(r'<li.*?\n .*?>(.*?)</', html_text)
# print(result1)
# #没有换行符歌名，不加\n
# result2 = re.findall(r'<li.*?>(.*?)</', html_text)
# print(result2)

#有a标签的，有5条
result1 = re.findall(r'<li.*?<a.*?>(.*?)</a', html_text,re.S)
print(result1)
#没有a标签，1条数据
result2 = re.findall(r'<li data-view="2">(.*?)</li', html_text)
print(result2)

print(result1 + result2)